#ifndef TRANSACTION_ABORT_LOG_H
#define TRANSACTION_ABORT_LOG_H 1

#include <transaction/types.h>

#include <common/macro/build.h>
#include <common/io.h>

typedef struct abort_log_t {
	iohandle_t file;
} abort_log_t;

API_LIBLOCAL abort_log_t *abort_log_open(const char *);
API_LIBLOCAL int abort_log_check(abort_log_t *, transaction_id_t);
API_LIBLOCAL int abort_log_add(abort_log_t *, transaction_id_t);
API_LIBLOCAL int abort_log_clear(abort_log_t *);
API_LIBLOCAL int abort_log_flush(abort_log_t *);
API_LIBLOCAL void abort_log_close(abort_log_t *);

#endif
